Skip to content

Conversation

sahidrahman404
Copy link

This implementation is similar to the SQLite backend, with some modifications. Instead of the previous driver, I switched to using the libsql client. Additionally, I made changes to the NewDatabase function parameters to support the Turso DSN.

If you prefer, you can still utilize the NewInMemoryBackend method, in which case the driver will fallback to using modernc.org/sqlite.

I removed the 'ReadOnly' transaction option since the libsql client currently does not currently support it.

I have tested this backend implementation with my current workflow, and it functions flawlessly.

Overall, these modifications have allowed me to successfully run the client within my application and the worker as a standalone application.

I also have plan to create an example similar to
Temporal money transfer example to demonstrate how to use Turso with go-workflows

This implementation is similar to the SQLite backend, with some modifications.
Instead of the previous driver, I switched to using the libsql client.
Additionally, I made changes to the `NewDatabase` function parameters
to support the Turso DSN.

If you prefer, you can still utilize the `NewInMemoryBackend` method,
in which case the driver will fallback to using `modernc.org/sqlite`.

I removed the 'ReadOnly' transaction option since the libsql client currently
does not currently support it.

I have tested this backend implementation with my current workflow,
and it functions flawlessly.

Overall, these modifications have allowed me to successfully run the client
within my application and the worker as a standalone application.

I also have plan to create an example similar to
Temporal `money transfer` example to demonstrate how to use Turso with go-workflows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant